package cn.com.spic.demo.dao;


import cn.com.spic.demo.dto.MoreActionProjectExample;
import cn.com.spic.demo.po.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface ActionProDAO {
    List<ActionProjectPO> getAllAction();

    List<ActionProjectPO> getActionProDtos(String id);

    List<ActionProjectPO> getActionProDtosByNineId(String specialId);

    List<ActionProjectPO> getActionDetailByParentId(String parentId);

    Long getCountByActionId(String acionId);

    Long getCountBySpecialId(String specialId);

    List<String> getActionProInUser(Map<String, Object> map);

    List<String> getActionProNotInUser(Map<String, Object> map);

    List<String> getEJDWActionProInUser(String[] orgCode);

    List<String> getEJDWActionProNotInUser(String[] orgCode);

    List<ActionProjectPO> getActionProInIds(String[] ids);

    List<ActionProjectPO> generateProgress(MoreActionProjectExample example);

    List<ActionProjectPO> getSpicGroupCode(Map<String, String> map);

    int countByExample(MoreActionProjectExample example);

    List<ActionProjectPO> selectActionByOrCondition(Map<String, Object> map);

    List<SpecialComRatePO> selectSpecialComRate(String specialId);

    List<SpecialCountPO> getEverySpecilCount();

    List<SpecialCountPO> getEveryNOCount();

    List<ThreeActionPO> getThreeAction(String specialId);

    List<AllThreeAndFourActionPO> allThreeAndFourAction(Map<String, Object> map);

    List<AllThreeAndFourActionPO> allLJThreeAndFourAction(Map<String, Object> map);

    List<String> getAllSecGroupCode();

    List<SecGroupWorkComPO> secGroupWorkExecution(Map<String, Object> map);

    SecGroupMaxMinAndAllPO getSecGroupMaxMinAndAll(String level);

    List<DeptAndOrgActionPO> getdeptAndOrgAction(Map<String, String> map);

    int updSpicNameAndSecName(Map<String, String> map);

    int updateByExampleSelective(@Param("record") ActionProjectPO actionProjectPO, @Param("example") MoreActionProjectExample example);

    List<ExportExcelPO> exportExcelLists(Map<String, String> map);

    String getGroupConcatSpecialName(String actionId);
}